define(function(require,exports,module) {
	// require('./plug/hammer.min');
	// require('./plug/layer/layer');
	// require('./plug/lazyload_echo');
	var myPub = require('./public');


    var oContain = $('.js_contain');						//购物车
    var oEmptyCar = $('.js_emptyCar');						//购物车为空
    var oDelBtn = $('.js_btnDel');                  		//单个删除按钮
    var oStoreEditBtn = $('.js_storeEdit');         		//编辑按钮




    var oSumPrice = $('.js_sumPrice');                      //总价格
    var nOrderNum = $('.js_orderNum');                      //订单数量
    var oBtnConfirm = $('.js_btnConfirm');                  //结算按钮

    var oCarListBox = $('.js_carListBox')
    var oCarListHead = $('.js_carListHead');        		//店家
    var oCarList = $('.js_carList');                		//全部宝贝
    var oGoodsSelet = oCarList.find('.js_checkBox');        //单个宝贝选择按钮
    var oStoreSelet = oCarListHead.find('.js_checkBox');    //店家全选按钮

    var oCheckBox = $('.js_checkBox');          			//单选按钮

    var oStoreOwner = $('.js_storeOwner');					//店家名称
    var oAllseletBtn = $('.js_btnAllselet');                //全部选按钮
    var oAllCheck = oAllseletBtn.find('.js_checkBoxArea');  //全选选框
    var oCarListArea = $('.js_carListArea');        		//列表区域
    var oClearCarList = $('.js_clearCarList');				//清除宝贝按钮

    var oDdjtj = $('.js_ddjtj');	//大当家推荐
    var oGroupName = $.trim($('.goods_title span').text());

    var init = function(data,name){

    	if(oContain.find('li').length == 0) {
    		oEmptyCar.show();
    		oContain.hide();
    		oDdjtj.show();
    		showGroup();
    		oAllCheck.removeClass('active');
    	}
    	else {
    		oEmptyCar.hide();


		    //默认第一个产品选中
		    if(oCarList.eq(0).find('.js_checkBox').length == 1){
				oCarListHead.eq(0).find('.js_checkBox').addClass('active');
			}
			oCarList.eq(0).find('.js_checkBox').eq(0).addClass('active');
		    checkPrice();
		    oDdjtj.hide()
    	}
    	//产品懒加载  异步加载 调用这个
        myPub.lazLoadingImgEcho();

    }

    init();

    //检测 全选
    function checkAllSelet() {
    	var _actNum = oCarListHead.find('.js_checkBox.active').length;
        var _checkNum = oCarListHead.find('.js_checkBox').length;
        //判断全部产品是否选中
        if(_actNum >= _checkNum) {
            oAllCheck.addClass('active');
        }
    }


    function checkPrice() {
    	//重新计算一下商品总数
        orderNum = $('.js_carList').find('.js_checkBox.active').length;
        nOrderNum.text(orderNum);
        //重置合计价格数据
        myPub.ShopSumPrice($('.js_carList').find('.js_checkBox'),'.js_carListArea','.js_goodsPrice',oSumPrice);
    }


     // 店家全选 店名
    oStoreOwner.hammer().on('tap',function() {
        if($(this).find('.js_checkBox').hasClass('active')) {
            $(this).find('.js_checkBox').removeClass('active');
            $(this).parents('.js_carListHead').siblings('.js_carList').find('.js_checkBox').removeClass('active');
            oAllCheck.removeClass('active');
            oClearCarList.removeClass('active');
            oCarList.find('.js_checkBox').each(function(){
            	if($(this).hasClass('active')){
            		oClearCarList.addClass('active');
            	}
            });
        }
        else {
        	$(this).find('.js_checkBox').addClass('active');
            $(this).parents('.js_carListHead').siblings('.js_carList').find('.js_checkBox').addClass('active');
            oClearCarList.addClass('active');
            checkAllSelet()
        }
        checkPrice()
    });



    // 单选选中和取消
    oCheckBox.hammer().on('tap',function() {
        if($(this).hasClass('active')) {
     			$(this).removeClass('active').parents('.js_carList').siblings('.js_carListHead').find('.js_checkBox').removeClass('active');
            oAllCheck.removeClass('active');

        }
        else {
            $(this).addClass('active');

            // 店家全选
            var _ActiveNum = $(this).parents('.js_carList').find('.js_checkBox.active').length;
            var _CheckBoxNum = $(this).parents('.js_carList').find('.js_checkBox').length;

            //判断当前店家产品是否选中
            if(_ActiveNum >=_CheckBoxNum) {
                $(this).parents('.js_carList').siblings('.js_carListHead').find('.js_checkBox').addClass('active');


                checkAllSelet()
            }
        }

        //判断是否高亮删除按钮
        if(oCarList.find('.js_checkBox.active').length>0) {
        	oClearCarList.addClass('active');
        }
        else {
        	oClearCarList.removeClass('active');
        }


        checkPrice()
    });


    // 全选
    oAllseletBtn.hammer().on('tap',function() {
        if(oAllCheck.hasClass('active')) {
            oAllCheck.removeClass('active');
            oGoodsSelet.removeClass('active');
            oCheckBox.removeClass('active');
            oClearCarList.removeClass('active');
            oSumPrice.text(0);
        }
        else {
            oAllCheck.addClass('active');
            oGoodsSelet.addClass('active');
            oCheckBox.addClass('active');
            oClearCarList.addClass('active');
        }

        var orderNum = oCarListArea.find('.js_checkBox.active').length;
        nOrderNum.text(orderNum);
		checkPrice();

    });

    //var oSwiperEven = new myPub.HammerEvent()

    /*
    //左滑动显示删除
    oCarListArea.hammer().on('swipeleft',function(e) {
        var index = oCarListArea.index(this);
        var _parentEle = $(this).parents('.js_carList');
        if(oCarListArea.hasClass('TformY4')) {
            oCarListArea.removeClass('TformY4');
        }
        else {
            oCarListArea.eq(index).addClass('TformY4');
        }
    });
     */
    /*
    //右滑动隐藏删除
    oCarListArea.hammer().on('swiperight',function(e) {
        var index = oCarListArea.index(this);
        oCarListArea.removeClass('TformY4');
        oStoreEditBtn.text('编辑')
    });
    */
    //编辑
    oStoreEditBtn.hammer().on('tap',function() {
        var _off = $(this).parents('.js_carListHead').siblings('.js_carList').find('.js_carListArea');
        if(_off.hasClass('TformY4')) {
            $(this).text('编辑');
            _off.removeClass('TformY4');
        }
        else {
            $(this).text('完成');
            _off.addClass('TformY4');
        }
    });


    //清空选中的产品
    oClearCarList.hammer().on('tap',function() {
    //oClearCarList.on('click',function(e) {
    	var _this = $(this);
    	var cartIds = [];
    	var _cont = '<p class="delTipP">确定要删除选中的产品？</p><span class="delTipSpan">删除后不可恢复哦</span>';

    	myPub.HamstopPropaga()
    	if($(this).hasClass('active')) {
    		//可点击
    		myPub.askLayer(_cont,function() {
    			oCarListArea.find('.js_checkBox.active').each(function(index,obj){
    				cartIds.push(parseInt($(this).parents('li').attr("cartItemId")));
    		    });
    			 G_JSON_POST("/shop/cartItem/removeCarts",{"cartIds":cartIds},function(data){
    				 if(data.status == "success"){
    					 oCarListArea.find('.js_checkBox.active').parents('li').remove();
    		    			oCarListBox.each(function(i) {
    		    				if(oCarListBox.eq(i).find('.js_carList .js_checkBox').length < 1) {
    			    				oCarListBox.eq(i).remove();
    			    				oSumPrice.text(0);
    			    				nOrderNum.text(0);
    			    				oClearCarList.removeClass('active');
    			    			}
    		    			});

    		    			if($('.js_carListBox').length == 0) {
    		    				$('.js_contain').hide();
    		    				$('.js_emptyCar').show();
    		    			}
    		    			myPub.LayerCloseAll();
    		    			myPub.TipLayer("删除成功!");
    		    			init();
    				 }else{
    					 myPub.TipLayer(data.message);
    				 }

    			 });

    		},function() {

    		},'no')
    	}
    	else {
    		//不可点击
    		myPub.TipLayer('没有要删除的宝贝！')
    	}
    	//e.stopPropagation();
    })


    function showGroup(){
    	  G_JSON_POST("/shop/cartItem/findGroup",{"groupName":oGroupName},function(data){
    	    	if(data.length>0){
    	    		var html = "";
    				var goodsList = eval(data);
    				$.each(goodsList,function(index,obj){
    					html+='<li>'+
    					'<a class="" href="/shop/goods/view/'+obj.goodsSn+'">'+
    				    '<figure>'+
    				        '<img class="js_lazyImg" data-echo="'+myPub.httpImageUrl + obj.showImage + '" src="/static_v3/image/loadImg.jpg">'+
    				        '<i class="tip-th" style="display: none;"></i>'+
    				    '</figure>'+
    				    '<aside class="priceArea">'+
    				    	'<div class="priceArea_name">'+
    				    		'<h4>'+obj.name+'</h4>'+
    				    	'</div>'+
    				    	'<div class="priceArea_price">'+
    			            	'<p class="HBox BoxCenter priceAreaBox">'+
    		                        '<i>￥</i>'+
    		                        '<span class="goodsPrice">'+obj.salePrice+'</span>'+
    		                        '<span class="goodsWeight Bflex1">/'+obj.productName+'</span>'+
    			                '</p>'+
    			            '</div>'+
    				    '</aside>'+
    				'</a>'+
    			'</li>';
    				});
    				$('.goodsBox_showThree').find('ul').append(html);
    	    	}else{
//    	    		myPub.TipLayer(data.message);
    	    	}
    	    });
    }







    // 单个删除
    oDelBtn.hammer().on('tap',function(e) {
    //oDelBtn.hammer().on('tap',function(e) {
        var _cont = '<p class="delTipP">确定删除该商品？</p><span class="delTipSpan">删除后不可恢复哦</span>';
        var _this = $(this);
        myPub.HamstopPropaga()
        myPub.askLayer(_cont,function() {
        	var cartId = _this.parents('li').attr("cartItemId");
            G_JSON_POST("/shop/cartItem/removeCart/"+cartId,null,function(data){
				if(data.status == "success"){
					//判断是否只有1个产品
		        	if(_this.parents('.js_contain').find('li').length == 1){
						_this.parents('.js_carListBox').remove();
						oEmptyCar.show();
						oContain.hide()
					}
		        	//删除只有1个商品的店家
		        	else if(_this.parents('.js_carList').find('li').length == 1) {
		                _this.parents('.js_carListBox').remove();
		            }
		        	//删除其中一个产品
		            else {
		            	var _carList = _this.parents('.js_carList');
		            	var _carListHeadCheck = _carList.siblings('.js_carListHead').find('.js_checkBox');
		                _this.parents('li').remove();

		                //删除后是否店家全选
		             	_carList.find('li').length == _carList.find('.js_checkBox.active').length ? _carListHeadCheck.addClass('active') : _carListHeadCheck.removeClass('active');
		            }

		            //console.log(oContain.find('.js_checkBox.active').length)
		            //判断是否高亮选中删除按钮
		            if(oContain.find('.js_checkBox.active').length < 1) {
		            	oClearCarList.removeClass('active');
		            }
		            else {
		            	oClearCarList.addClass('active');
		            }


		            checkAllSelet();
		        	checkPrice()

		            myPub.LayerCloseAll();
		            myPub.TipLayer('删除成功！');
		            init();
				}
        		else{
					myPub.TipLayer(data.message);
				}
            });


        },function() {
        	//去除样式
        	_this.siblings('.js_carListArea').removeClass('TformY4');
        });

        //e.stopPropagation();
    });





        // 结算
        oBtnConfirm.hammer().on('tap',function() {
        	var ids = "";
        	$('.js_carListArea').find('.js_checkBox.active').each(function(){
        		ids += $(this).attr('cartItemId')+",";
        	});
        	if(ids==""){
        		myPub.TipLayer("请选择要结算的商品");
      	      	return;
      	    }
        	$("#cartIds").val(ids);
        	var action="/shop/pay/cartItem_confirm?cartIds="+$("#cartIds").val()+"&goodschannel="+$("#goodschannel").val()
        	$('#subForm').attr("action",action);
        	$('#subForm').submit();
        });







});